package cn.yj.core.business.service.iservice;

import cn.yj.annotation.pagehelper.page.Page;
import cn.yj.cgs.dba.entity.UserPackage;
import cn.yj.cgs.dba.entity.vo.PackagesView;
import cn.yj.cgs.dba.entity.vo.PackagesVo;
import cn.yj.entity.R;

import java.util.List;
import java.util.Map;

/**
 * @author 永健
 * @since 2021-04-29 10:36
 */
public interface IPackageService<T> extends TaskResources<T>  {

    /**
     * 发布
     * @param packageVo 任务
     * @return true/false
     */
    R publish(PackagesVo packageVo);

    Page<PackagesView> pageList(Map<String, Object> map, Page<PackagesView> page);

    /**
     * 更新任务信息
     * @param packageVo 信息
     * @return true/false
     */
    R updateInfoById(PackagesVo packageVo);

    /**
     * 我接的单子
     *
     * @param page       分页对象
     * @param params 我的用户code
     */
     Page<UserPackage> listMyDoTask(Page<UserPackage> page, Map<String, Object> params);

    /**
     * 我发布的单子
     *
     * @param page     分页对象
     * @param params 搜索参数
     */
    Page<PackagesView> getTaskListByUserCode(Page<PackagesView> page, Map<String, Object> params);





    /**
     * 根据编号获取任务
     * @param taskNo 编号
     * @return packageVo
     */
    PackagesVo getByTaskNo(String taskNo);

    /**
     *
     * @param status
     * @return
     */
    List<PackagesVo> getTaskByStatus(String status,String auditStatus);
}
